package mario
{
	import flash.display.MovieClip;
	import flash.events.Event;
	
	// ========================================================================
	// ========================================================================

	public class Vista
	{
		// ====================================================================
		private var _movieClip:MovieClip
		private var _mario:Mario
		// ====================================================================

		// ====================================================================
		// CONSTRUCTOR
		// ====================================================================

		// --------------------------------------------------------------------
		public function Vista(movieClip:MovieClip, mario:Mario)
		{
			_movieClip = movieClip
			_mario = mario

			activar()
		}

		// ====================================================================
		// PROPERTIES
		// ====================================================================

		// --------------------------------------------------------------------
		public function get movieClip():MovieClip { return _movieClip }

		// ====================================================================
		// FUNCIONES
		// ====================================================================

		// --------------------------------------------------------------------
		public function activar():void { escucharEventos() }
		// --------------------------------------------------------------------
		public function desactivar():void { dejarDeEscucharEventos() }
		// --------------------------------------------------------------------
		private function escucharEventos():void
		{
			modelo.addEventListener(Mario.IR_A_LA_IZQUIERDA, posicionarIzquierda)
			modelo.addEventListener(Mario.IR_A_LA_DERECHA, posicionarDerecha)
			modelo.addEventListener(Mario.SALTAR, saltar)
			modelo.addEventListener(Mario.AGACHAR, agacharse)
		}
		// --------------------------------------------------------------------
		private function dejarDeEscucharEventos():void
		{
			modelo.removeEventListener(Mario.IR_A_LA_IZQUIERDA, posicionarIzquierda)
			modelo.removeEventListener(Mario.IR_A_LA_DERECHA, posicionarDerecha)
			modelo.removeEventListener(Mario.SALTAR, saltar)
			modelo.removeEventListener(Mario.AGACHAR, agacharse)
		}		
		// --------------------------------------------------------------------
		private function posicionarIzquierda(evento:Event):void
		{
			_movieClip
		}
	}
}